/*
-----------------------------------------------------------------------------
This source file is part of Labor3D
(Labor 3D Graphics Engine)

Copyright (c) 2009-2020 Rock Mao
* creator : Rock Mao
* created : 2009-10-15   23:29
* filename: Labor2DRectRenderableObject.h
-----------------------------------------------------------------------------
*/

#ifndef __LABOR2DRECTRENDERABLEOBJECT_H__
#define __LABOR2DRECTRENDERABLEOBJECT_H__
#include "../LaborCoreDef.h"
#include "LaborRenderableObject.h"
#include "LaborTexture.h"
#include "LaborColor.h"
#include "../Math/LaborMathTemplate.h"

NAMESPACE_LABOR3D_BEGIN


class LABORCORE_API IL2DRectRenderableObject : public ILRenderableObject
{
public:
	IL2DRectRenderableObject() {};
	virtual ~IL2DRectRenderableObject(){};
	
	virtual void setDestRect( CLRectF & rect ) = 0;
	virtual void setColor( CLColor_4f& _color ) = 0;
	virtual void setTexture( CLTexture *pTexture, int iLayer = 0 ) = 0;
	virtual void setTexture( CLTexture *pTexture, CLRectF & srcRect, int iLayer = 0 ) = 0;
	virtual void draw() = 0;
	virtual void apply() = 0;

};

NAMESPACE_LABOR3D_END
#endif // __LABOR2DRECTRENDERABLEOBJECT_H__